package cn.bdqn.yan;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

/**
 * @author ysf
 * @date 2019/8/28 21:20
 */
public class MybatisUtil {
    private static SqlSessionFactory factory;
    static {  //在静态代码块下factory只会被创建一次
        try {
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
            factory=new SqlSessionFactoryBuilder().build(is);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     * 创建SqlSession对象
     * @return
     */
    public static SqlSession createSqlSession(){
        return factory.openSession(false); //true为自动提交事务
    }
    /**
     * 关闭SqlSession对象
     * @param sqlsession
     */
    public static void closeSqlSession(SqlSession sqlsession){
        if(sqlsession!=null){
            sqlsession.close();
        }
    }
}
